﻿namespace WMS6.Services
{
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.ServiceModel;
    using WMS6.DataEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface IOrderDetailMgtService
    {
        [OperationContract]
        string DeletePurchaseOrderDetail(List<string> poIDs, List<string> lineIDs, PubParasInfo pubParasInfo);
        [OperationContract]
        string DeleteSalesOrderDetail(string salesOrderID, List<string> lineIDs, PubParasInfo pubParasInfo);
        [OperationContract]
        DataSet GetAllpurchaseOrderDetailInfo(PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PurchaseOrderDetailInfo))]
        PurchaseOrderDetailInfo GetPurchaseOrderDetailInfoByID(string poID, string lineID, PubParasInfo pubParasInfo);
        [OperationContract]
        List<PurchaseOrderDetailInfo> GetPurchaseOrderDetailInfoListByID(string poID, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(SalesOrderDetailInfo)), OperationContract]
        SalesOrderDetailInfo GetSalesOrderDetailInfoByID(string salesOrderID, string lineID, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PurchaseOrderDetailInfo))]
        string InsertPurchaseOrderDetail(PurchaseOrderDetailInfo purchaseOrderDetailInfo, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(SalesOrderDetailInfo)), OperationContract]
        string InsertSalesOrderDetail(SalesOrderDetailInfo salesOrderDetailInfo, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(SalesOrderDetailInfo))]
        string PurchaseOrderDetailPriceChanges(string PoID, string poLineID, float price, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PurchaseOrderDetailInfo))]
        string UpdatePurchaseOrderDetail(PurchaseOrderDetailInfo purchaseOrderDetailInfo, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(SalesOrderDetailInfo))]
        string UpdateSalesOrderDetail(SalesOrderDetailInfo salesOrderDetailInfo, PubParasInfo pubParasInfo);
    }
}

